
// 服务端api接口地址前缀
export const API_BASE_URI = '/dataspace/api/v1'
// 接口成功的code
export const SUCCESS_CODE = 1
// 接口提示未登录的code
export const UN_LOGIN_CODE = 0
// 接口发生错误的code
export const API_ERROR_CODE = -1

// 管理员角色代号
export const MANAGER_ROLE_CODE = 10
// 租户角色代号
export const TENANT_ROLE_CODE = 20
// 用户角色代号
export const USER_ROLE_CODE = 30

export const LOGINER_FLAG_MAP = {
    [MANAGER_ROLE_CODE]: '管理员',
    [TENANT_ROLE_CODE]: '租户',
    [USER_ROLE_CODE]: '用户'
}

// 分页插件用的 可以多少条分一页
export const PAGE_SIZES = [10, 20, 50]
// 默认的pageSize
export const DEFAULT_PAGE_SIZE = 10

// 租户根数据空间名称
export const ROOT_TENANT_SPACE_NAME = 'dataspace'

// 管理员HDFS公共资源的根目录信息
export const ROOT_PUBLIC_PATH_INFO = {
    resourceId: 0,
    name: 'public'
}

// Yarn的根队列信息
export const ROOT_YARN_QUEUE_INFO = {
    resourceId: 0,
    name: 'root'
}

// HDFS HBase Hive YARN Kafka 权限列表

export const HDFS_AUTHORITYS = [
    {
        enName: 'read',
        cnName: '可读',
        description: '允许用户执行可读操作'
    },
    {
        enName: 'write',
        cnName: '可写',
        description: '允许用户执行可写操作'
    },
    {
        enName: 'execute',
        cnName: '可执行',
        description: '允许用户执行可执行操作'
    },
    // {
    //     enName: 'Select/Deselect All',
    //     cnName: '全选/取消全选',
    //     description: '全选/取消全选'
    // }
]

export const HBASE_AUTHORITYS = [
    {
        enName: 'read',
        cnName: '可读',
        description: '允许用户执行可读操作'
    },
    {
        enName: 'write',
        cnName: '可写',
        description: '允许用户执行可写操作'
    },
    {
        enName: 'create',
        cnName: '可创建',
        description: '允许用户执行创建操作'
    },
    {
        enName: 'admin',
        cnName: '可管理',
        description: '这将为用户提供委托的管理访问'
    }
]

export const HIVE_AUTHORITYS = [
    {
        enName: 'select',
        cnName: '可选择',
        description: '允许用户执行选择操作'
    },
    {
        enName: 'update',
        cnName: '可更新',
        description: '允许用户执行更新操作'
    },
    {
        enName: 'create',
        cnName: '可创建',
        description: '允许用户执行创建操作'
    },
    {
        enName: 'drop',
        cnName: '可删除',
        description: '允许用户执行删除操作'
    },
    {
        enName: 'alter',
        cnName: '可修改',
        description: '允许用户执行修改操作'
    },
    {
        enName: 'index',
        cnName: '可索引',
        description: '允许用户执行索引操作'
    },
    {
        enName: 'lock',
        cnName: '可锁定',
        description: '允许用户对指定的资源执行锁定操作'
    },
    {
        enName: 'all',
        cnName: '所有操作',
        description: '允许用户执行所有操作'
    },
    {
        enName: 'read',
        cnName: '可读',
        description: '允许用户执行可读操作'
    },
    {
        enName: 'write',
        cnName: '可写',
        description: '允许用户执行可写操作'
    }
]

export const YARN_AUTHORITYS = [
    {
        enName: 'submit-app',
        cnName: '可提交作业',
        description: '允许用户在定义的队列上提交作业'
    },
    {
        enName: 'admin-queue',
        cnName: '可管理队列',
        description: '允许用户管理队列'
    }
]

export const KAFKA_AUTHORITYS = [
    {
        enName: 'publish',
        cnName: '可发布消息',
        description: '允许将消息发布到kafka的主题生成器'
    },
    {
        enName: 'consume',
        cnName: '只使用主题分区子集',
        description: '在一个流程中，只使用主题中分区的一个子集'
    },
    // {
    //     enName: 'configure',
    //     cnName: '可配置kafka broker/cluster',
    //     description: '允许配置kafka broker/cluster'
    // },
    // {
    //     enName: 'describe',
    //     cnName: '允许获取主题元数据的权限',
    //     description: '允许获取主题元数据的权限'
    // },
    // {
    //     enName: 'create',
    //     cnName: '可创建主题',
    //     description: '允许创建主题'
    // },
    // {
    //     enName: 'delete',
    //     cnName: '可删除主题',
    //     description: '可删除主题'
    // },
    // {
    //     enName: 'kafka_admin',
    //     cnName: '允许管理kafka',
    //     description: '允许管理kafka'
    // },
    // {
    //     enName: 'idempotent_write',
    //     cnName: '允许等幂写权限',
    //     description: '允许等幂写权限'
    // },
    // {
    //     enName: 'describe_configs',
    //     cnName: '允许描述配置',
    //     description: '允许描述配置'
    // },
    // {
    //     enName: 'alter_configs',
    //     cnName: '允许修改配置',
    //     description: '允许修改配置'
    // },
]

// 创建租户时，可分配的服务
export const SERVICE_OPTIONS = ['hdfs', 'hive', 'hbase', 'yarn']

// 用户状态
export const USER_LOCK_MAP = {
    "0": '未锁定',
    "1": '已锁定'
}

// 其他
export const resUnit = [
    {
        value: 1,
        label: 'MB'
    }, {
        value: 2,
        label: 'GB'
    }, {
        value: 3,
        label: 'TB'
    }
]

// 配额容量type与单位的映射
export const CAPACITY_UNIT_MAP = {
    1: 'MB',
    2: 'GB',
    3: 'TB'
}
